Relacje
Powiązane informacje są zapisywane w bazie danych w osobnych obiektach biznesowych. Użytkownik definiuje relacje między obiektami biznesowymi, a aplikacja korzysta z tych relacji, odnajdując powiązane informacje.
Przykładowo użytkownik chce zatelefonować do innej osoby, aby jej zadać pytania dotyczące zarejestrowanego przez nią problemu. Numery telefonów użytkowników są rejestrowane w obiekcie biznesowym UŻYTKOWNIK, a problemy są rejestrowane w obiekcie biznesowym PROBLEM. Po znalezieniu danego problemu system wyszukuje numer telefonu na podstawie relacji między dwoma obiektami biznesowymi. Numer telefonu nie jest zapisywany za każdym razem, kiedy rejestrowany jest problem. Zostaje on zapisany tylko raz w pokrewnym obiekcie biznesowym użytkownika.
Relacje obiektów i kolekcji
Istnieją dwa typy relacji:
Relacja obiektu — W relacji między obiektami A i B relacja do obiektu A jest tworzona w obiekcie B, ale nie istnieje relacja do obiektu B w A
Jest to przydatne, jeśli użytkownik chce wybrać pojedynczą wartość A w obiekcie B. Na przykład gdy wybierany jest Użytkownik w Żądaniu.
Relacja kolekcji — Umożliwia utworzenie wielu pokrewnych obiektów w obiekcie podstawowym i wyświetlanie obiektu podstawowego z wielu obiektów pokrewnych. Relacja do A jest tworzona w obiekcie B, a relacja kolekcji do B jest tworzona w A
Jest to przydatne, jeśli użytkownik chce utworzyć wiele instancji obiektów pokrewnych w obiekcie podstawowym. Na przykład w celu dodania Notatek do Żądania.
Należy unikać tworzenia kolekcji nieograniczonych, ponieważ wpływa to negatywnie na wydajność systemu. Kolekcje nieograniczone są kolekcjami, które mogą rozrastać się wraz ze wzrostem bazy danych. Na przykład kolekcja notatek do incydentu jest kolekcją ograniczoną, ponieważ incydenty są zamykane po pewnym okresie czasu, po którym nie można dodawać nowych notatek. Jednakże kolekcja notatek użytkownika jest kolekcją nieograniczoną, ponieważ liczba obiektów w kolekcji zwiększa się wraz z rosnącą liczbą incydentów rejestrowanych dla każdego użytkownika. Aby wyświetlić incydenty zarejestrowane dla poszczególnych użytkowników, lepiej jest utworzyć zapytanie.